/**
 * 用户首次登陆的埋点
 */

import track from 'utils/track';
import { getIntroPointState, setIntroPointState } from 'api';
import utils from 'utils';
import { getCachedRepoValue } from 'utils/repoIdCache';

export default function firstSession() {
  const cacheAskKey = `codeup-questionnaire-${getCachedRepoValue('user')}`;
  const askCache = utils.getCachedData(cacheAskKey);
  if (typeof askCache === 'string') {
    // 如果出现过问卷引导，不再需要请求接口
    return;
  }
  getIntroPointState('query_user_first_entry')
    .then((result) => {
      // true表示首次进入，为true时，调用post接口将state改为false
      if (result.state) {
        track({
          action: 'enter codeup',
          page: utils.getParentUrl().startsWith('https://devops.aliyun.com')
            ? 'DevOps Codeup Page'
            : '',
          type: 'first session',
          control: '',
        });
        // 第一次进入
        setIntroPointState('query_user_first_entry').catch((err) => {
          console.error(err);
        });
      }
    })
    .catch((err) => {
      console.error(err);
    });
}
